nwn2fandomcom-20200214-history
Premonition
Description Premonition allows you to see a few moments into the future. This grants you damage reduction 30/adamantine; the spell absorbs 10 points of melee damage per caster level before collapsing. Gameplay Notes Note: Adamantine weapons bypass this spell and almost all other forms of magical damage resistance. Usually Sorcerors and Wizards can do without Greater Stoneskin and Premonition when they have proper party support and do not enter melee combat. Better spells do exist to entirely avoid attacks. This is important since Adamantine weapons can (along with extra magical damage they deliver) completely bypass this spell and it doesn't stop attacks, just the basic weapon damage. Therefore, knockdown, non-physical extra weapon damage, and anything over 30 points of damage still affect the caster anyway. Wizards and Sorcerors are much better to not get into melee combat at all, or use personal spells such as Mirror Image, Displacement and Invisibility, Greater to conceal against attacks if they do get into melee, while Displacement (and other concealment spells) and Invisibility or Etherealness may be used to move out of combat if needed. Although Protection from arrows and Stoneskin combined can provide a similar type protection, they do so only to a much lesser extent - at damage reduction "10/-" and "10/adamantine", respectively. Premonition is nevertheless useful in most cases as a long-term protective spell for adventurers, and especially against lower level encounters where the enemy is unlikely to bypass the protection it offers. It cannot be cast on others so very few mages would prepare multiple castings (instead relying on a backup scroll, or rod, to cast it). Also, its long duration means that if adventuring, most high-level mages will cast this during the start of the day. Bugs There is an extremely weird bug hard-coded into the engine: If a spellcaster wielding an adamantine weapon in his right hand casts a spell that deals physical damage, the spell will bypass any damage reductions on the target, including Premonition, Stoneskin, Greater Stoneskin, Ethereal Visage, Shadow Shield, and Stone/Iron Body. Affected spells are Earthquake, Bombardment, Evard's Black Tentacles etc. Only the right hand weapon matters, the weapon in the left hand doesn't matter. For example, the King of Shadows in the OC wields adamantine weapons and when he casts Earthquake etc., the game will deal standard damage, completely ignoring any damage reduction spells. To bypass this bug, the spell scripts need to remove the Adamantine material type from the weapon of the spellcaster before he creates the damage effect and re-apply it after the effect is created. Note that it is the effect CREATION that matters, not the actual effect application. If the damage effect is created by somebody without an adamantine weapon in his right hand, damage reduction will not be bypassed, even if the damage is applied by somebody wielding an adamantine weapon. Also, concerning AoE spells like Evard's Black Tentacles, the damage effect is constantly re-created by the AoE-creator when applicable, so damage reduction will be bypassed as long as the AoE creator has an adamantine weapon equipped, but if he unequips the weapon, damage reduction kicks in, even if the AoE itself was created with an adamantine weapon equipped. So in order to fix, the scripts NW_S0_EvardsA (onEnter) and NW_S0_EvardsC (Heartbeat) need to be fixed, NOT the AoE creation script NW_S0_Evards.nss! So a fix for Earthquake (X0_S0_Earthquake.nss) could look like this: object oWeapon=GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, OBJECT_SELF); if(oWeapon!=OBJECT_INVALID && GetItemBaseMaterialType(oWeapon) GMATERIAL_METAL_ADAMANTINE) { SetItemBaseMaterialType(oWeapon,GMATERIAL_NONSPECIFIC); DelayCommand(0.0f,SetItemBaseMaterialType(oWeapon,GMATERIAL_METAL_ADAMANTINE)); } ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING), oTarget); The script above checks if the spellcaster (OBJECT_SELF) wields an adamantine weapon. If he does, the adamantine type is replaced by non-specific material type. The adamantine type is then re-applied to the weapon in a delayed command AFTER the spellcaster creates the damage effect - EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING). Because the adamantine property was not present at the time of the damage effect creation, the damage will be properly intercepted by Premonition and similar spells. Alternatively, it is possible to use somebody else to create the effect (the spell target, for example), although chances are the target is wielding an adamantine weapon as well: AssignCommand(oTarget,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING), OBJECT_SELF)); 3.5E notes There is no "Greater Stoneskin" in the core rulebook, and Premonition exists but in an entirely different manner (providing a single bonus to a check instead of full damage reduction). These were made due to give a line of damage resistance spells where other high level protection spells were not possible in NWN2.